import { fileURLToPath, URL } from "node:url";

import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";

import AutoImport from "unplugin-auto-import/vite";
import Components from "unplugin-vue-components/vite";
import { ElementPlusResolver } from "unplugin-vue-components/resolvers";

import Icons from "unplugin-icons/vite";
import IconsResolver from "unplugin-icons/resolver";

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    vue(),
    // AutoImport({
    // resolvers: [
    //   ElementPlusResolver(),
    //   // 自动导入图标组件
    //   IconsResolver({
    //     prefix: 'Icon'
    //   })
    // ],
    // }),
    // Components({
    //   resolvers: [
    //     ElementPlusResolver(),
    //     // 自动注册图标组件
    //     IconsResolver({
    //       enabledCollections: ['ep']
    //     })
    //   ]
    // }),
    // Icons({
    //   autoInstall: true
    // })
  ],
  resolve: {
    alias: {
      "@": fileURLToPath(new URL("./src", import.meta.url)),
    },
  },
  server: {
    port: 8023, // 端口
    host: "0.0.0.0",
    proxy: {
      "/api": {
        target: "http://api.tp6admin.com", //实际请求地址
        changeOrigin: true,
        rewrite: (path) => path.replace(/^\/api/, ""),
      },
    },
    // proxy: {
    //   "/tp6admin": {
    //     //请求路径关键字
    //     target: "http://tp6admin", //对应自己的接口
    //     changeOrigin: true, //是否允许跨域,在本地会创建一个虚拟服务端，然后发送请求的数据，
    //     // 并同时接收请求的数据，这样服务端和服务端进行数据的交互就不会有跨域问题
    //     ws: true,
    //     pathRewrite: {
    //       "^/tp6admin": "tp6admin", //这里理解成用‘/api’代替target里面的地址，后面组件中我们掉接口时直接用api代替
    //       // 比如我要调用'http://localhost:8024/management/user/add'，直接写‘/api/user/add’即可
    //     },
    //   },
    // },
  },
});
